Anotasyon

Temel Java Dersleri – While Döngüsü

Merhaba Arkadaşlar,
mobilhanem.com sitemiz üzerinden anlattığımız Temel Java Derslerine bu dersimizde Java’da While Döngüsü ile devam ediyoruz. Aslında while döngüsü neredeyse tüm yazılım dillerinde kullanılan bir döngü çeşididir. Bizler bu dersimizde Java’da kullanımından bahsedeceğiz.
Nedir bu döngü, ne işe yarar diyorsanız önce onu açıklamakla başlayalım. Kod yazarken bazı satırları birden fazla defa çalıştırmamız gerekebilir. Çok basit bir örnekle “Merhaba Mobilhanem” yazısını konsola 10 defa alt alta yazdırmamız gerekti. Bunu aşağıdaki gibi yapabiliriz.

/**
 * Created by tahakirca on 25/09/16.
 */
public class WhileDongusu {
    public static void main(String args[]){
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
        System.out.println("Merhaba Mobilhanem");
    }
}

10 tane yazdırmak için yukarıdaki kod kullanılabilinir, ancak düşünün ki 500 adet istendi veya her hangi bir koşula bağlanması istendi. İşte bu durumlarda Java bize çok kullanışlı bir yapı olan döngü yapısını sunmaktadır. 3 adet döngü çeşidi vardır. While döngüsü, do-while döngüsü ve for döngüsü. Biz bu dersimizde While döngüsünü anlatacağız. İlerleyen derslerde ise diğer döngüleri anlatmaya devam edeceğiz. While döngüsüne başlamadan önce şunu belirtmek isterim. Bu 3 döngü arasında en çok kullanılan döngü çeşidinin for döngüsü olduğunu belirttikten sonra artık gelelim While döngüsü kullanımına.

Yukarıda “Merhaba Mobilhanem” yazısını konsola 10 defa alt alta yazdırmak için aynı kodu 10 defa alt alta yazdık. Bunu while döngüsü ile aşağıdaki şekilde yapabiliriz.

/**
 * Created by tahakirca on 25/09/16.
 */
public class WhileDongusu {

    public static void main(String args[]){
        int i = 0;
        while (i<10){ // i 10 dan küçük olduğu müddetçe true dönecektir ve while kod bloğuna girecektir.
            System.out.println("Merhaba Mobilhanem");
            i++; //her seferinde i'yi 1 arttırır
        }

    }
}

Yukarıda görüldüğü gibi 10 defa alt alta yazmaktansa while döngüsü kullanarak bu işlemi kolaylaştırdık. While içine yazılan koşul true oldukça program while kod bloğuna girecek ve işlemleri yapacaktır. Eğer while içine while(true) şeklinde yaparsak burada sonsuz döngüye girecektir ve sürekli while bloğu çalışacaktır. (break ve continue ifadeleri ile döngüden çıkmak mümkün ilerleyen derslerimizde anlatacağız). Aşağıda While döngüsünün Flowchart gösterimi vardır.

While Döngü Flowchart

Aslında döngülerin ana mantığını yukarıdaki koddan ve flowchart gösteriminden anlayabiliriz. İki örnek daha vererek konuyu pekiştirelim.

While Döngüsü Örnekler

1’den 20’ye kadar olan tam sayıların toplamı:

1’den 20’ye kadar olan sayıların toplamını bulma programı

/**
 * Created by tahakirca on 25/09/16.
 */
public class WhileDongusu {

    public static void main(String args[]){
        int toplam = 0;
        int i = 0;

        while (i < 20){
            toplam = toplam + i;
            i++;
        }
        System.out.println("Toplam : "+toplam);

    }
}

NOT: Yukarıdaki kodda eğer i ‘yi i++; şeklinde 1 arttırmazsak, i her zaman 0 olarak kalacak ve her zaman 20 den küçük kalacaktır.Dolayısıyla sonsuz döngü oluşacaktır.

Sayı Tahmin Etme

Math.random() ile ürettiğimiz random bir sayıyı tahmin etme programı:

import java.util.Scanner;

/**
 * Created by tahakirca on 25/09/16.
 */
public class WhileDongusu {

    public static void main(String args[]){
        int sayi = (int)(Math.random() * 101); //0 ile 100 arasında bir sayı üretir 100'de olabilir

        Scanner input = new Scanner(System.in); //Kullanıcıdan sayı alabilmek için Scanner sınıfını kullandık

        int tahmin = -1; //0 ile 100 arasında olmaması için -1 verdik

        while(sayi != tahmin){ // sayı tahmine eşit olmadığı sürece true dönecek ve bu işlem tekrarlanacak . Sayı işleme eşit olduğunda false dönecek ve döngüye girmiyecek
            
            System.out.print("Tahmin ettiğiniz sayıyı giriniz: ");

            tahmin = input.nextInt(); // Sayı kullanıcıdan alınır

            if(tahmin == sayi){
                System.out.println("Doğru Tahmin");

            }else if(tahmin > sayi){
                System.out.println("Tahmininizi Azaltın");

            }else{
                System.out.println("Tahmininizi Arttırın");

            }
        }


    }
}

Yukarıdaki kodu açıklamak gerekirse kod çalışır çalışmaz 0 ile 100 arasında bir sayıyı random olarak oluşturuyor. Sonrasında while döngüsü içinde kullanıcıdan klavyeden tahmin girmesini istiyor. Eğer bu tahmin random oluşturulan sayıya eşitse “Doğru Tahmin “, büyükse “Tahmininizi Azaltın”,küçükse “Tahmininizi Arttırın” mesajı veriyor. Girilen tahmin zaten sayıya eşitse “Doğru Tahmin” mesajı verildikten sonra sayi != tahmin koşulunu sağlamayacağı için tekrardan döngüye girmiyecek ve bu kodumuzda başka işlem olmadığı için programımızı sonlandıracaktır.

Bu dersimizde anlatmak istediklerim bu kadar. Bir sonraki dersimizde kısaca do-while kullanımndan bahsedeceğim. Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm Temel Java Dersleri için tıklayınız..

 

58

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

3 Yorum

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?